#pragma once

#include <vector>
#include <map>
#include "Light.h"
#include "Pointer.h"
#include "INode.h"

class LightNode : public INode
{
public:
	typedef std::vector<Pointer<LightNode>> Vector_t;
	typedef std::map<Pointer<LightNode>, unsigned int> Map_t;
	typedef std::pair<Pointer<LightNode>, unsigned int> Pair_t;

	HashedString Type() const;

	void Enable();
	void Disable();
	Light& getLight();
protected:
	Light m_light;
};